1. Field of the Invention
Aspects of the present invention relate to ISI detectors. Other aspects of the present invention may relate to a storage media read channel comprising an iterative decoder having an inter-symbol interference (ISI) detector.
2. Description of Background Information
Computer systems (e.g. personal computers, workstations, and the like) and intelligent devices (e.g., appliances and kiosk consumer electronic devices provided with microprocessors and micro controllers) are typically provided with a hierarchical memory system for handling the computer system""s or device""s long-term and short-term storage needs. Such memory hierarchies comprise primary (main) storage devices such as the computer""s main memory (typically random access memory (RAM)) and secondary (auxiliary) storage devices such as disk drives (e.g., magnetic hard disk) and other external devices.
A memory system is provided which manages the exchange of data between the main memory and the auxiliary memory. As data is moved between the storage media and the auxiliary storage device, the data is transmitted over a read channel, which is susceptible to inter-symbol interference (ISI). ISI distorts the digital signal recovered from the storage media by temporally spreading and consequently overlapping the individual digital signals. As digital data transfer speed increases, the ISI affects on the communication over the read channel become more significant.
These ISI effects are due, in part, to the resistance and capacitance of the read channel. To mitigate against the effects of inter-symbol interference (ISI), read channels are typically provided with mechanisms that are called ISI decoders or detectors. Some of these decoders are iterative decoders (e.g., a turbo decoder), and some are not iterative (e.g., a Viterbi decoder). Iterative decoders and coders have attractive performance in environments containing random errors. However, when these coders and decoders are presented with burst errors (e.g. burst errors due to thermal asperity), those errors may be magnified at the output of the detector. For example, a 100 bit thermal asperity (TA) error may propagate to produce a more than 150 bit error at the output of the iterative detector.
Accordingly, there is a need for a mechanism to reduce these adverse affects of burst errors in iterative detectors, which can result in poor performance of auxiliary storage devices, such as hard disk drives.
FIG. 1 is a high-level block diagram of an iterative detector 100. A waveform 11 is input to an ISI decoder 10. ISI decoder 10 may comprise, for example, a BCJR detector or an SOVA (Soft Output Viterbi Algorithm) detector. ISI decoder 10 outputs probability bits which travel over permute path 12 and are input into a code decoder 14. Code decoder 14 may comprise, for example, a soft ECC decoder or a small ECC decoder. The output of code decoder 14 may be input into an optional ECC decoder 16. Code decoder 14 may comprise a turbo code decoder (convolutional code) or a low density parity code (LDPC) decoder.
Code decoder 14 provides additional knowledge/information which travels over the repermute path 18 and is input into ISI decoder 10. The data traveling over permute path 12 and traveling back over repermute path 18 will be forwarded back and forth until the resulting data converges, providing the desired output at the output of code decoder 14. Accordingly, a modified waveform will be provided to code decoder 14, which is absent ISI effects. Similarly, code decoder 14 processes the waveform by utilizing the code and ignoring the ISI effects. The code used may comprise a punctured recursive systematic convolutional code. The code decoder will output information which is not available through the waveform. This information comprises additional information which is sent back over repermute path 18, and accordingly is fed back into ISI decoder 10. In the second iteration, ISI decoder 10 uses both input waveform 11 and the additional information that traveled over repermute path 18. This decoding processing may stop after N interactions, where N less than 5 in some schemes.
When a burst error influences waveform 11, this causes the output of ISI decoder 10, which travels over permute path 12, to spread or leak the burst error (which, in the illustrated detector, comprises a TA error). After this error is processed by code decoder 14, it will produce additional information sent back over repermute path 18. This erroneous information will corrupt the information provided, and thereby prevent convergence of a desired output at the output of code decoder 14.
The present invention is provided to improve upon iterative ISI detectors. Certain aspects of the present invention are provided to improve upon iterative detectors which remove ISI from a waveform being read from (or written to) a storage media, where the waveform is specifically a waveform that may be read from a hard disk and present on the read channel of the hard disk. In order to achieve one (or both) of these objectives, one or more aspects of the present invention may be followed in order to bring about one or more specific objects and advantages, as will be evident from the description which follows.
In one or more specific embodiments of the invention, the present invention may be directed to an iterative detector, a method for iterative detecting, or one or more subparts thereof, as well as to an article of manufacture, such as a computer-readable media encoded to facilitate the acts of such an apparatus or method. Such an iterative detector may be provided as part of a read channel of an auxiliary storage device. The auxiliary storage device may comprise a hard disk drive. In accordance with the implementation, an ISI decoder is provided to receive an input waveform comprising an input sequence of symbols and to output an intermediate waveform. The ISI decoder comprises a branch metric generation mechanism and a cost function update function mechanism. A code decoder is provided to receive the ISI free signal via a permutation path, to output an output data stream, with a more reliable data stream and to output new information concerning the input waveform with less influence of the effects of ISI. The cost function update mechanism is adapted to receive branch metric information from the branch metric mechanism and to receive the new information via a repermutation path. A substitute mechanism is provided to substitute the branch metric information received by the cost function update mechanism with substitute information independent of the branch metric information when a given group of symbols of the input waveform are subject to a burst error.